您好,欢迎来到达州工业云! 平台首页 企业驾驶舱 帮助中心 企业登录 企业注册

HI,欢迎使用达州工业云平台!

账号必须大于2位

创新资源平台
服务平台首页>专利库>专利详情

基于信源信息加密的光网络安全网络编码方法

  • 申请号:CN201210006256.4 申请公布号: CN102427399B
  • 申请日: 2012-01-09 申请公布日: 2014-07-16
  • 申请(专利权)人: 专利代理机构:
  • 分类号:H04L1/00;H04L9/00

专利介绍

一种基于信源信息加密的光网络安全网络编码方法,具体包括:使用信源信息加密的方法实现网络的保密性,使用完整性校验码的方法实现网络的完整性检验的功能。在信源信息加密中,只需要加密其中的一小部分信息即可实现网络的保密性功能,这样间接减少了需要加密的信息数量。光网络中的校验功能是通过信宿检验完整性、信源重传的方法来实现的。
1.一种基于信源信息加密的光网络安全网络编码方法,其特征在于,该方法包括如下步骤:xa0步骤一:确定包格式,数据包包括编码向量、载荷和校验码三个组成部分;xa0步骤二:信源处,对信源信息中的一维信息进行加密;对余下的信源信息使用哈希函数计算,使得网络传输的每个信息都是跟被加密的那一维信源信息相关的,这部分是用于网络中传输的信息;xa0步骤三:按照编码向量、载荷和校验码的顺序构造数据包;xa0步骤四:中间节点在接收到数据之后,如果该中间节点是编码节点,对接收到的数据进行网络编码操作,然后对操作后的数据进行转发;如果该中间节点是非编码节点,直接转发数据包;xa0步骤五:信宿接收到数据之后,采用“解码-校验”的方式处理;首先对数据包进行解码,之后使用解码后的数据校验完整性;xa0步骤六:校验完整性之后,如果数据包是完整的,得到的数据就是信源发送的数据包;如果数据包不是完整的,信宿请求信源重新发送,直至接收正确的数据包。xa0
2.如权利要求1所述的一种基于信源信息加密的光网络安全网络编码方法,在步骤三之前,对信息处理的过程包括:xa0在传输过程中以随机网络编码作为主要的传输方式,编码向量是在有限域中随机选取,载荷是通过计算编码向量和用于网络中传输的信息的乘积得到的,校验码是使用校验码公式对信源信息计算得到。xa0
3.如权利要求1所述的一种基于信源信息加密的光网络安全网络编码方法,其特征在于,加密前后信息的维度需要保证相同,因此使用AES加密方法,不是所有的信源信息都需要加密,而是选择每个信源信息向量的一维进行加密。xa0
4.如权利要求1所述的一种基于信源信息加密的光网络安全网络编码方法,在光网络中,为提高网络速度,中间节点处不设置光电转换模块,网络xa0编码的操作也是在光层完成的,同时节点不具有缓存功能,采用信宿检验,信源重传的方法。xa0技术领域
本发明涉及通信领域,特别涉及一种基于信源信息加密的光网络安全网络编码方法。
背景技术
自从香农提出最大流最小割定理之后,实现网络的最大流就一直成为研究人员的努力方向,而在传统的组播方式中,中间节点只有存储转发的功能,直到网络编码的提出才改变这一状况。网络编码不仅能够增加网络的最大流,而且在研究中发现,网络编码在网络安全方面同样前景广阔。对于传统的组播方式,如果窃听者有机会窃听到网络中某一路信息,它可以根据窃听得到的信息恢复原始数据,因为这样的信息是“有意义的”,“有意义”是指窃听到的信息跟信源发出的信息是相同的,在安全性要求较高的情况下,传统组播防窃听能力就相应的比较弱;而在基于网络编码的数据传输方式中,编码节点有对不同链路的信息进行混合的功能,从而把“有意义的”信息转变成“无意义的”,这种方法使得网络编码具有了一定的保密性,尽管如此,窃听者在窃听到多路信息并了解网络编码的编解码构造方法之后,仍然可以通过得到的多路信息恢复原始信息;另外,正是由于网络编码可以对信息进行混合,一旦上游链路的信息产生误码或者被其他攻击者篡改数据,下游链路的信息就很有可能变成错误的,这样会增大错误的覆盖范围,对网络信息安全产生不好的影响。因此,将网络编码应用于网络安全中,信息的保密性和完整性显得尤其重要。安全网络编码已经有多种实现方式,但是这些实现方式仍然存在如下问题:使用密码学加密的方法来实现网络的保密性,这种方法固然可以达到保密性的效果,但是需要加密的数量太大,在加密和解密的过程中会产生巨大的计算量;使用非加密的手段实现保密性,这种方法需要把窃听者的窃听能力局限在某些链路,对于窃听能力强的窃听者,使用非加密的方法来保证网络的保密性是危险的。因此在保证网络保密性的情况下减少加密量,并且不限制窃听者的窃听范围就成为安全网络编码的一个研究热点。本发明就是针对上面提到的两个实际情况,使用一种安全有效的方法来实现保密通信。同时,在网络编码中,一旦遭受篡改攻击,就会扩大错误的覆盖范围,本发明兼顾到信息的完整性检验的功能,将网络保密性和完整性检验的功能融合到一起。
发明内容
本发明提供了一种基于信源信息加密的光网络安全网络编码方法,能够实现网络编码的保密传输,具有加密量小,不限制窃听者的窃听能力的优点,同时能够提供完整性检验的功能。为达成上述发明目标,在此有如下技术方案:本发明主要采用随机线性网络编码的数据传输方式,编码节点对接收到的数据包进行线性操作,同时线性操作需要的系数是在有限域内随机选取的。根据节点类型不同,本发明需要在信源、中间节点和信宿采用不同的操作,具体操作方法如下:信源:确定包格式,分别由编码向量、载荷和校验码组成;对信源信息的其中一维信息进行加密,使用哈希函数和计算公式对其他信源信息进行处理,得到用于网络中传输的信息,这样数据包中的每维信息都是跟加密的那一维信源信息是相关的;由于使用随机线性网络编码的传输方式,编码向量是在有限域中随机选取的;根据校验码公式ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="201"/>和网络中传输的信息,计算完整性校验码。中间节点:在光网络中,很注重数据的传输速率,尽可能减少中间环节可能带来的延时,因此采用中间节点直接编码转发的方式,不需要在中间节点处进行完整性校验。信宿:信宿接收到数据包之后,解码并进行完整性校验,对于被篡改的数据包申请信源重传,然后继续上述过程中信源和中间节点的操作步骤;对于未被篡改的数据包,解码即可;之所以需要从信源开始重传,是因为中间节点无法存储数据,不能从中间节点调用数据。从以上技术方案可以看出,本发明具有以下优点:在本发明中,并不是所有的信源信息都需要加密,只是选择其中一部分加密,相比现有的方法来说,本发明大大减少了加密量,进而减少了加密解密的复杂度;本发明并不对窃听者的窃听能力进行限制,而是网络中的任意链路都可以被窃听,但是每一个窃听者的计算能力是有限的,无法通过穷举法得到原始信息;在实现网络保密性的同时,本发明还能实现数据的完整性,这两个功能是同时实现的,互相不会产生干扰。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的流程图,在信源、中间节点和信宿的信息输入输出图,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明的流程图;图2为本发明在信源的信息输入输出图;图3为本发明在中间节点的信息输入输出图;图4为本发明在信宿的信息输入输出图。
具体实施方式
根据发明内容的描述,在这里对实施方式具体化,对两种情况进行具体实施介绍。有限域:集合F={a,b,...},对F的元素定义了两种运算:“+”和“*”,并满足以下3个条件:1、F的元素关于运算“+”构成交换群,设其单位元素为0。2、F{0}的元素关于运算“*”构成交换群。即F中元素排除元素0后,关于“*”构成交换群。3、分配率成立,即对于任意元素a,b,c∈F,恒有a*(b+c)=(b+c)*a=a*b+a*cF域的元素数目有限时称为有限域。在此假设有限域足够大。图1是本发明的流程图,如图1所示,根据信息在信源生成、中间节点传送、信宿节点接收的特点,以及信息在信源、中间节点和信宿操作方法的不同,下面分三部分进行介绍。信源:信源的作用就是要把需要发送的一部分信息进行加密,然后通过一定的计算方法使得网络中传输的信息都跟这部分被加密的信息相关,这样可以使得信源发送的所有信息在网络中都是对外保密的,可以达到保密性的效果。同时信源需要计算完整性校验码,将编码向量、载荷和完整性校验码组合成数据包,并传送给下游节点。具体实施步骤如下:S101:假设信源发送j维数据X=(X1X2...Xj),共有j维,这里的j维可以理解为共有j维数据需要发送,各维数据依次发送;其中每一维数据都对应着n维的信息向量Xi=(xi1xi2...xin)T,i=1...j,需要加密的信息在此确定为信息向量的第一个信息,使用密钥将xi1加密为Ei,为方便信息处理过程,在此需要保证加密前后信息的维度是相同的,可以使用AES加密方法,但是加密方法并不限于AES方法一种。S102:在得到加密数据之后,就开始构造信源发出的用于网络中传输的数据,为了使得所有数据都跟被加密的数据产生相关性,同时保证信息不可解密,这里使用哈希函数h(),因为哈希函数是单向的,根据输入x,可以很容易计算出来h(x),但是根据h(x)得到x,在计算上是不可实现的。使用哈希函数进行处理的过程如下: x i 1 ′ = E i + h ( x i 2 ′ ) x i 2 ′ = x i 2 + h ( x i 1 ) x i 3 ′ = x i 3 + h ( x i 1 ) . . . x in ′ = x in + h ( x i 1 ) ]]>(i=1...j)而xi1′=Ei+h(xi2′)不仅可以保证保密性,而且使得网络中传输的数据都有相同的形式,在此使用Xi′=(xi1′xi2′...xin′)T,i=1...j表示网络中传输的数据,i=1...j表示数据有j组。在计算出来网络中传输的数据之后,假设编码向量表示方法为Di1=(di11...din1)i=1,...k,D1=(D11D21...Dk1)T,对于网络中第t组被传输信息,计算得到载荷Yi1=Di1Xi′i=1,...,k,Yi1=(yi11yi21...yij1)i=1,...,k,得到的Yi1就是数据包的载荷。信源的另外一个作用是要计算完整性校验码,由公式ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="524"/>得到。计算得到的校验码在整个信息的传递过程中都是相同的。S103:在得到编码向量、载荷和校验码之后,信源可以根据这些数据组成数据包,用于网络传输。信源发出的数据包的格式如下,右上角的1表示为区别处于网络中不同位置的数据包,采用不同的上角标标示,后面的s具有相同的含义:ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>中间节点:中间节点包括编码节点和非编码节点,在网络编码中,可以按照一定的算法得知哪些节点需要编码,哪些节点不需要编码。因此中间节点接收到数据之后,要么进行网络编码操作后转发,要么直接转发。具体实施过程为:中间节点在接收到如上所示数据包之后,对接收到的数据包采用网络编码操作并转发S104,对数据包各个部分的操作是相同的,同等对待,得到类似的数据包如下,由于每个中间节点的入度不同,因此可以用r来表示,对结果的分析没有影响:ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>在此,使用上角标s表示经过s次传输后的数据,为了跟之前的数据区分开来。信宿:信宿有两个功能,分别是完整性校验和解码的功能。在光网络中,信宿首先解密解码得到信源期望发送的数据,然后校验完整性。S105解码过程:在接收到数据包之后,信宿根据网络编码的传输机制,可以恢复出来信源发出的用于网络传输的信息,信宿的入度定为r,为使得解码能够正常进行,要求(r≥n)。由于中间节点不会对数据包进行重组,而仅仅是进行线性操作,数据包各部分对应的功能跟发出时是完全一样的,而且信宿同样接收到类似格式的数据包,因此可以得知信宿得到的数据包格式为:ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>根据网络编码的传输机制,以及数据包的构成方式,可以得到如下式子:ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>由于(r≥n),因此只需要r维函数即可解得信源发出的用于网络传输的信息,Xi′=(xi1′xi2′...xin′)T,i=1...j,根据Xi′的构造过程,可以得到Ei=xi1′-h(xi2′),根据信源和信宿之间的共享密钥,可以解密Ei得到xi1,根据如下公式,可以计算得到所有信息。 x i 2 = x i 2 ′ - h ( x i 1 ) x i 3 = x i 3 ′ - h ( x i 1 ) . . . x in = x in ′ - h ( x i 1 ) ]]>(i=1...j)S106:完整性校验:当解码得到信源信息之后,根据计算公式ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="551"/>可以计算得到校验码。同时在解码的过程中,可以同时解码得到信源发出的校验码,把解码得到的校验码与计算得到的校验码进行对比,如果相同,则证明数据没有被篡改,如果不同,则证明这是被篡改的数据。对于被篡改的数据,由于中间节点无法缓存数据,因此必须从信源开始重传S107,传输之后,信宿继续解码校验S108,直到信宿接收到正确的信息。本发明在信源、中间节点和信宿的操作有着很大的区别:信源起着构造数据包的作用,中间节点对数据进行编码转发,信宿对接收到的数据包进行解码解密并且计算完整性校验码。在信源处的信息输入输出过程如图2所示:信息输入是指信源需要发送的信息,并以此计算完整性校验码,对信源需要发送信息中的一维信息进行加密,然后使用哈希函数和一定的计算方法对其他所有的信源信息进行随机化处理,得到用于网络中传输的信息,使用信源处的编码向量计算载荷,按照编码向量、载荷和完整性校验码的顺序构造数据包,之后输出数据包。在中间节点处的信息输入输出过程如图3所示:信息的输入就是从信源或者其他中间节点接收到的数据包,中间节点只需对数据包编码转发即可,尽管数据包由三部分组成,但是这个过程对数据包的整体操作都是相同的,不进行区分。输出的信息是编码操作之后的数据包。光网络中,中间节点不具有缓存的功能。对数据的处理只是编码转发。在信宿处的信息输入输出过程如图4所示:信息的输入就是从中间节点接收到的数据包,信宿首先对接收到的数据包进行解密解码操作,得到信源期望发送的信息,根据这个信息计算完整性校验码,跟解码得到的完整性校验码进行对比,以检验数据包的完整性,如果数据包是完整的,则传输过程结束。如果数据包是不完整的,需要请求信源重传。以上所述,仅为本发明常见的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。